home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 23.zip / BS1 part 23 / Amigazette 9.adf / Basic / Zapp < prev    next >
Text File  |  1991-03-15  |  4KB  |  198 lines

  1. REM
  2. REM (C) Maart 1990 "Zapp" by Courbois Software
  3. REM                          Fazantlaan 61-63
  4. REM                          6641 XW Beuningen
  5. REM                          Tel : 08897-72546
  6. REM
  7. REM "Zapp" is een onderdeel van de diskette
  8. REM        AmiGazette 09 Het dient als ondersteuning
  9. REM        van de op die diskette aanwezige cursus.
  10. REM
  11.  
  12. DECLARE FUNCTION BltBitMap& LIBRARY
  13. DECLARE FUNCTION ViewPortAddress& LIBRARY
  14. DECLARE FUNCTION ldscr& LIBRARY
  15. LIBRARY "ldscr.library"
  16. LIBRARY "graphics.library"
  17. LIBRARY "intuition.library"
  18.  
  19. SCREEN 3,320,256,4,1
  20. WINDOW 3,,,0,3
  21. PALETTE 1,0,0,0
  22. Xn&=PEEKL(PEEKL(ViewPortAddress&(WINDOW(7))+36)+4)
  23.  
  24. SCREEN 4,320,256,4,1
  25. WINDOW 4,,,0,4
  26. PALETTE 1,0,0,0
  27. Xv&=PEEKL(PEEKL(ViewPortAddress&(WINDOW(7))+36)+4)  
  28.  
  29. Zapp:
  30. WINDOW 3
  31. WINDOW OUTPUT 4
  32. naam$="SYS:Lo-Res/Pic03"
  33. GOSUB LeesScherm
  34. WINDOW 4
  35. WHILE STRIG(2)<>0:WEND
  36. WHILE STRIG(2)=0:WEND
  37.  
  38. Start:
  39. WINDOW OUTPUT 3
  40. naam$="SYS:Lo-Res/Pic01"
  41. GOSUB LeesScherm
  42.  
  43. WINDOW 4
  44. CLS
  45. GOSUB BeweegSchip1
  46. LOCATE 1,1
  47. PRINT "Score : 000000"
  48. Score=0
  49. LOCATE 1,27
  50. PRINT "Schepen : 005"
  51. Aantal=5
  52.  
  53. Spel:
  54. GOSUB BeweegSchip
  55. GOSUB Vijanden
  56. GOSUB Schieten
  57. IF Aantal=0 THEN Einde
  58. GOTO Spel
  59.  
  60. Einde:
  61. WINDOW OUTPUT 3
  62. naam$="SYS:Lo-Res/Pic04"
  63. GOSUB LeesScherm
  64. WINDOW 3
  65. WHILE STRIG(2)<>0:WEND
  66. WHILE STRIG(2)=0:WEND
  67. GOTO Zapp
  68.  
  69. Schieten:
  70. IF STRIG(2)=0 THEN RETURN
  71.  
  72. IF Schip=0 THEN 
  73.    REM Omlaag
  74.    LINE (154,100)-(156,Omlaag+35),12,bf
  75.    GOSUB Wacht
  76.    LINE (154,100)-(156,Omlaag+35), 0,bf
  77.    x2%=144
  78.    y2%=Omlaag+5
  79.    GOSUB KleineBoem
  80.    Omlaag=0
  81. END IF
  82.  
  83. IF Schip=4 THEN 
  84.    REM Rechts
  85.    LINE (180,124)-(275-Rechts,126),12,bf
  86.    GOSUB Wacht
  87.    LINE (180,124)-(275-Rechts,126 ), 0,bf
  88.    x2%=280-Rechts
  89.    y2%=113
  90.    GOSUB KleineBoem
  91.    Rechts=0
  92. END IF
  93.  
  94. IF Schip=8 THEN 
  95.    REM Omhoog
  96.    LINE (154,150)-(156,215-Omhoog),12,bf
  97.    GOSUB Wacht
  98.    LINE (154,150)-(156,215-Omhoog), 0,bf
  99.    x2%=144
  100.    y2%=218-Omhoog
  101.    GOSUB KleineBoem
  102.    Omhoog=0
  103. END IF
  104.  
  105. IF Schip=12 THEN 
  106.    REM Links
  107.    LINE (130,124)-(Links+35,126),12,bf
  108.    GOSUB Wacht
  109.    LINE (130,124)-(Links+35,126), 0,bf
  110.    x2%=Links+6
  111.    y2%=113
  112.    GOSUB KleineBoem
  113.    Links=0
  114. END IF
  115.  
  116. RETURN
  117.  
  118. KleineBoem:
  119. FOR BB=0 TO 5
  120.     x1%=289:y1%=BB*33:sx%=32:sy%=32:GOSUB Blitter
  121.     GOSUB Wacht
  122. NEXT
  123. LINE (x2%-5,y2%-5)-(x2%+37,y2%+37),0,bf
  124. Score=Score+10
  125. LOCATE 1,1
  126. PRINT "Score : ";RIGHT$("000000"+RIGHT$(STR$(Score),LEN(STR$(Score))-1),6)
  127. RETURN
  128.  
  129. GroteBoem:
  130. x2%=142
  131. y2%=113
  132. LINE (x2%-19,y2%-19)-(x2%+43,y2%+43),0,bf
  133. FOR BB=0 TO 5
  134.     x1%=289:y1%=BB*33:sx%=32:sy%=32:GOSUB Blitter
  135.     GOSUB Wacht
  136. NEXT
  137. LINE (x2%-19,y2%-19)-(x2%+43,y2%+43),0,bf
  138.  
  139. IF Omlaag=60 THEN sx%=23:sy%=37:x2%=148:y2%=Omlaag
  140. IF Omhoog=60 THEN sx%=23:sy%=37:x2%=148:y2%=218-Omhoog
  141. IF Links=90  THEN sx%=37:sy%=23:x2%=1+Links:y2%=116
  142. IF Rechts=90 THEN sx%=37:sy%=23:x2%=280-Rechts:y2%=116
  143.  
  144. LINE (x2%-4,y2%-4)-(x2%+sx%,y2%+sy%),0,bf
  145. GOSUB BeweegSchip1
  146. LOCATE 1,27
  147. Aantal=Aantal-1
  148. PRINT "Schepen : ";RIGHT$("000"+RIGHT$(STR$(Aantal),LEN(STR$(Aantal))-1),3)
  149. RETURN
  150.  
  151. Wacht:
  152. FOR WachtLus=0 TO 500
  153. NEXT
  154. RETURN
  155.  
  156. Vijanden:
  157. Omlaag=Omlaag+1
  158. IF Omlaag=60 THEN GOSUB GroteBoem:Omlaag=0
  159. x1%=256:y1%=38:sx%=23:sy%=37:x2%=148:y2%=Omlaag:GOSUB Blitter
  160.  
  161. Omhoog=Omhoog+1
  162. IF Omhoog=60 THEN GOSUB GroteBoem:Omhoog=0
  163. x1%=256:y1%=0:sx%=23:sy%=37:x2%=148:y2%=218-Omhoog:GOSUB Blitter
  164.  
  165. Links=Links+1
  166. IF Links=90 THEN GOSUB GroteBoem:Links=0
  167. x1%=256:y1%=208:sx%=37:sy%=23:x2%=1+Links:y2%=116:GOSUB Blitter
  168.  
  169. Rechts=Rechts+1
  170. IF Rechts=90 THEN GOSUB GroteBoem:Rechts=0
  171. x1%=256:y1%=232:sx%=37:sy%=23:x2%=280-Rechts:y2%=116:GOSUB Blitter
  172. RETURN
  173.  
  174. BeweegSchip:
  175. z=STICK(2)
  176. IF z=0 THEN RETURN
  177. IF z= 1 THEN Schip=Schip+1:IF Schip=16 THEN Schip=0
  178. IF z=-1 THEN Schip=Schip-1:IF Schip=-1 THEN Schip=15
  179.  
  180. BeweegSchip1:
  181. x1%=(Schip-INT(Schip/4)*4)*64
  182. y1%=INT(Schip/4)*64
  183. sx%=62
  184. sy%=62
  185. x2%=128
  186. y2%=96
  187. GOSUB Blitter
  188. RETURN
  189.  
  190. Blitter:
  191. copy%=BltBitMap&(Xn&,x1%,y1%,Xv&,x2%,y2%,sx%,sy%,200,255,0)
  192. RETURN
  193.  
  194. LeesScherm:
  195. scherm$=naam$+CHR$(0)
  196. sch&=ldscr& (SADD(scherm$),WINDOW(7))
  197. RETURN
  198.